Updating diagnostic device software and enabling features

ABSTRACT

A method of unlocking at least one feature of a diagnostic device. The method includes receiving, from a user, product-indentifying information (such as serial number) for the diagnostic device. A server can then generate a software key that corresponds to the product-identifying information and transmit the software key to the user via a text-to-speech server to cause the software key to be spoken to the user. The user can enter the software key into the diagnostic device to unlock the at least on feature. The transaction can be initiated at the user&#39;s telephone, where the software key is also received, eliminating the need for a network-connected diagnostic device.

RELATED APPLICATIONS

Priority is claimed to U.S. Provisional Patent Application No.60/392,322, entitled “Use Of XML Protocols For Updating RepairEquipment, Diagnostic Equipment, Tools,” filed on Jun. 27, 2002. Theentirety of this patent application is expressly incorporated herein byreference.

BACKGROUND

1. Technical Field

A method and system relating to the field of diagnostic devices, and,more particularly, a method for updating software or enabling diagnosticdevice features for use in automotive maintenance and repair, isdisclosed.

2. Description of Related Art

Recent advances in computer technology have made software-enhancedequipment nearly ubiquitous in developed countries. This appliesespecially to equipment that, as recently as a decade or two in thepast, no one would foresee as using software and processors for improvedfunctionality, such as automotive diagnostic equipment. The use ofrelatively inexpensive memory, processors, and displays, for example,has enabled manufacturers of such equipment to couple legacy diagnosticdevices, such as multimeters, scan tools, lab/ignition scopes, andcomponent testers, with repair and diagnostic database software thatputs large amounts of repair information literally at technicians'fingertips. One such device is the MODIS (Modular Diagnostic InformationSystem) produced by Snap-on Technologies, Inc. Because it is modular andsoftware-enabled, the MODIS can be updated easily to preventobsolescence.

Even though automotive diagnostic devices have entered the realm of hightechnology, they are still highly specialized tools, rather thangeneral-purpose computers. Because of this, such devices tend to bestand-alone rather than network-connected (although the MODIS, forexample, has ample interfaces for communication with computers and otherdevices). In addition, they are not generally equipped with Internetaccess, although they could be. Verifying a user's authorization toaccess new or updated software or installed features is an importantfunction that allows value-enhancing updates, but transmitting,receiving, and verifying software keys to verify authorization can besomewhat difficult to implement with stand-alone devices. Accordingly, amethod to “unlock” available but disabled equipment features can allowan equipment manufacturer to confidently make software updates,features, and products readily available (for example, over the Internetand on CD-ROMs) without fear of unauthorized use.

SUMMARY

In one aspect, a method of unlocking at least one feature of adiagnostic device is provided. The method may include receiving, from auser, product-identifying information (such as a serial number) for thediagnostic device, and identifying a software key that corresponds tothe product-identifying information. The method may also includetransmitting the software key to the user via a text-to-speech server tocause the software key to be spoken to the user. Next, the methodincludes entering the software key into the diagnostic device to unlockthe at least one feature.

In another aspect, a method of unlocking at least one feature of adiagnostic device is provided. The method may include receiving, from auser, product-identifying information (such as a serial number) for thediagnostic device, and identifying a software key that corresponds tothe product-identifying information. The method may also includereceiving payment information from the user and transmitting thesoftware key to the user via a text-to-speech server to cause thesoftware key to be spoken to the user. Next, the method includesentering the software key into the diagnostic device to unlock the atleast one feature.

In another aspect, a method of unlocking at least one feature of adiagnostic device is provided. The method may include receiving, from auser, product-identifying information (such as a serial number) for thediagnostic device, and identifying a software key that corresponds tothe product-identifying information. The method may also includereceiving from the user information regarding the feature or featuresthe user wishes to unlock, and transmitting the software key for thatfeature or features to the user via a text-to-speech server to cause thesoftware key to be spoken to the user. Next, the method includesentering the software key into the diagnostic device to unlock the atleast one feature.

BRIEF DESCRIPTION OF THE DRAWINGS

Exemplary embodiments of the present system and method are describedherein with reference to the drawings, in which:

FIG. 1 illustrates a network in which an exemplary embodiment of thepresent system may be implemented; and

FIG. 2 is a flow chart illustrating the operation of an exemplaryembodiment of the present system.

DETAILED DESCRIPTION

The present method and system allows users of software-based,stand-alone equipment to obtain and enter software keys that enable orunlock the equipment's features without a conventional Internetconnection. If a user registers a stand-alone device, such as anautomotive tester, with the tester's manufacturer, the serial number forthe device can be stored in a database maintained by the manufacturer.Corresponding to a serial number, one or more software keys can begenerated to unlock features or install new software. Since the softwarekeys are associated with a particular device (by serial number andfeatures to be enabled), they can only be used to enable or unlock aunique device's features. For example, an automotive tester may have anextensive set of features installed even though not all of them areenabled when the tester is first purchased. By allowing users topurchase features (or use them on a limited-time free trial basis), thetester's manufacturer has flexibility in what features are provided tousers.

The present system may be used to enable features or update the softwareof a portable, stand-alone automotive diagnostic device. Such a devicemay be, for example, Snap-on's MODIS system, which is a modular,ruggedized diagnostic platform that replaces multiple pieces ofautomotive diagnostic equipment. The MODIS system utilizes the WindowsCE operating system and standard PC-based architecture. The MODIS systemalso includes a VGA port to connect to external monitors, as well asinfrared, serial and USB ports and a CompactFlash interface. Any ofvarious ports and interfaces (except the VGA port) can be used forsoftware updates and other communications. For example, software updatesmay be accomplished by CD-ROM inserted in a standard PC that isconnected to the MODIS. Software updates may also be made directly viaCompactFlash memory cards. In addition, MODIS may have extensivesoftware features and functionality built-in but inaccessible to usersuntil the users pay for the features.

In addition to the MODIS system, the present method and system iscompatible with other types of equipment, such as diagnostic equipmentimplemented in Personal Digital Assistants (PDAs) and in Snap-on'sAutomotive Scan Tools such as the MT2500 Scanner and the MTG2500 ColorGraphing Scanner. The method and system is also appropriate for use withthe Snap-on Vantage Power Graphing Meter, which is a component testerthat combines a graphing digital multimeter with a diagnostic databasefor testing engine-management components, transmission sensors andcomponents, ABS systems, and the like. Moreover, the present method andsystem is not limited to operation with these noted, exemplary devices,but can instead be employed with a wide variety of devices.

Architecture

In an exemplary embodiment, a system for unlocking software features isimplemented in a network, as illustrated in FIG. 1. User's initialrequests can be made from telecommunications devices such a telephone12, that communicate with telephone switch 14. Telephone switch 14 is inturn in communication with voice platform 16, which serves as aninterface to network 18. Network 18 can be, or can include, theInternet. A manufacturer's or service provider's server, such as server20, has access to a manufacturer's enterprise database 22 as well asnetwork 18. Further, the server 20 may be protected from unauthorizedaccess by a firewall (not shown).

Telephone 12 may be either a wireless or landline telephone, or it maybe any voice-enabled telecommunications device, such as a Voice-Over-IPdevice. Telephone switch 14 may be a conventional Public-SwitchedTelephone Network (PSTN) switch or any other suitable routing orswitching device. Voice platform 16 may be, for example, a Nuance VoicePlatform manufactured by Nuance Communications, Inc., although voiceplatform 16 may be any other suitable voice platform. Voice platform 16may include a “conversation server” that in turn includes a VoiceXMLinterpreter integrated with speech recognition, text-to-speech, andvoice authentication software. Voice platform 16 can accept Dual-ToneMultiFrequency (DTMF), pulse-dialed, or speech input from telephone 12.

The functions performed by server 20 could be implemented with one ormore interconnected, commercially available server-class computers suchas the Sun Solaris, Dell NT, IBM AIX, or other servers. A server such asserver 20 may generally be referred to as an enterprise server, and mayalso include a memory, a processor, and instructions stored in thememory that are executable by the processor to carry out variousfunctions, including the functions described here. As mentioned above,server 20 is in communication with database 22, which may include amanufacturer's (that is, the manufacturer of a diagnostic device to beunlocked) financial, manufacturing, order processing, and productregistration information, and may also include software keys associatedwith particular products. Database 22 may be part of an enterpriseresource planning (ERP) system such as the one developed by BaaN. Othertypical ERP systems that could be used include the R/3 enterpriseapplication developed by SAP AG of Walldorf, Germany, as well as thosedeveloped by PeopleSoft, and Oracle.

Operation

An owner or user of a diagnostic device may initially purchase thedevice with an understanding that not all features of the device areenabled, but that some features may be purchased or used on a trialbasis at a later time. The user may also realize that diagnostic devicessuch as the MODIS system can be updated to improve performance andprevent obsolescence. The features can be unlocked by entry of asoftware key associated with the particular device. As a concreteexample, suppose a user purchased a MODIS system, at which time theproduct was registered. In the example, assume the user chose not topurchase Asian Import Troubleshooting information that could beavailable to the MODIS system, or that the user chose not to purchasefrequency-measuring capability (as another example). Productregistration could include the part number and serial number of thedevice, as well as the owner's business or financial information, orboth.

Now suppose the user is working on the transmission of a Hondaautomobile. The user may take steps to access MODIS' “Asian ImportTransmission Fast-Track Troubleshooter” to learn about troubleshootingthe particular transmission. Since the information sought is notenabled, however, the requested information could, for example, be“grayed-out,” indicating that it is unavailable. Alternatively, the usermay have purchased MODIS prior to the model year of the transmission forwhich information is sought. In either case, attempting to accessunavailable or out-of-date features could result, in addition to agrayed-out menu item, in the display of a telephone support number orwebsite address the user could use to enable the feature. On-screendisplay of a telephone number is not, however, critical to allembodiments of the present system. For example, a telephone supportnumber or web address could be made available in the original productliterature, over the Internet, or permanently displayed on the tool.

In addition to displaying a telephone number, the diagnostic devicecould also display a unique feature identifier or device identifier thatthe user could transmit in order to request a software key. If theinformation on the device is simply out of date, the user might firstneed to download or install more recent information, which could be madefreely available from numerous sources, as discussed above (e.g.,Internet, CD-ROM, Flash Memory, and the like).

FIG. 2 is a flow chart of various functions that may be carried out inaccordance with the exemplary embodiment to allow the user to unlock thedesired information. First, the user could use telephone 12 to call aproduct support telephone number, as shown in block 30. Voice platform16, upon receiving a call to the proper product support number couldresponsively access a specific directory or website within themanufacturer's server 20. The server 20 may transmit XML, VXML, or othercode that then directs the voice platform to play an appropriate(according to the dialed number) prerecorded prompt message (or toperform a text-to-speech conversion of a prompt message) that says, forexample:

“Welcome to the Snap-on Diagnostics registered products system. Pleaseselect your product from the following menu: One, scanners; Two, labscopes; Three, engine analyzers; Four, component testers (system pausesfor response). Please enter your serial number.” The user may also beprompted to select a feature or features that he wishes to enable, asshown at block 32, or there may be only one non-enabled feature orfeature set so that selecting a feature is not necessary. The user'sinput can be either spoken or entered via the telephone keypad or othersuitable data entry device. Next, as shown at block 34, the server 20receives the serial number for a particular product type (for example,category 3 from the user's response to the prompt) and, if applicable,the feature to be enabled. As an alternative, any product-identifyinginformation could be entered in lieu of a serial number. Once the serialnumber is verified by access to the database 22, the server 20 caneither generate a software key for a particular feature or the entireproduct, or, alternatively, can look up a stored software keycorresponding to the serial number.

At block 36, the server 20 can authorize the user. This authorizationcan comprise receiving a credit card number, for example, or verifyingthat the owner of the device identified by the user has a preexistingrelationship with the manufacturer so that the user can be chargedaccordingly. Alternatively, the system can respond to software keyrequests without user authorization if, for example, features are to beunlocked for a free trial period.

At block 38, the software key is transmitted to the user via network 18and voice platform 16. The software key may be transmitted from theserver 20 in VXML (VoiceXML) format so that the voice platform canperform a text-to-speech conversion, shown at block 40, although othertext formats, such as HTTP or XML are also possible.

The software key may be a simple alphanumeric such as “98 G” althoughmore or fewer characters could be used. As an alternative to speech, thesoftware key could be sent to users via the Internet, the PSTN, or both,in other formats, such as text-based formats or markup languages, whichwould enable users to view software keys on handheld devices ortelephone text display screens.

Next, as shown at block 42, the user receives the software key thatunlocks the applicable features of his particular device. The user canthen enter the software key to unlock the features of the device. Thesoftware key may be entered by a peripheral component connected to thediagnostic device, such as a handheld PDA or a personal computer, or itmay be entered directly by a built-in input device. As an example, theMODIS unit includes a Thumb Pad and selection keys that, in combination,operate much as a computer mouse to allow direct user input. As anotheralternative, the software key could be “beamed” via infrared link, tothe MODIS from a PDA or cellular phone. Other key entry methods can alsobe used.

The software or feature to be enabled on the diagnostic device can beenabled by entry of the software key. To accomplish this, the softwarekey may be verified by a user key verifier software routine in thediagnostic device. Depending on the level of security required ordesired, the enabling routine can verify whether the software keyentered matches unique product identifying information, requestedfeature information, user information, date, and the like. For example,the user key verifier routine could perform an algorithm on the user keyto generate a match with the last six digits of a product serial numberembedded within a chipset in the diagnostic device. For more security,the verifier routine could restrict feature or update enablement to acertain time period after the key is generated. If less security isrequired, one or more software keys may enable a group of devices,rather than just one unique diagnostic device. Because a verifierroutine can be used, it is not necessary to store valid key data indiagnostic devices at the time of manufacture, although doing so wouldalso be possible. Other methods of key verification are possible.

The present system allows untrained users to update, upgrade, or enablefeatures of stand-alone equipment that may not be (although it could be)connected to the Internet. Further, such modifications can be madeusing, for example, an ordinary telephone, a cellular telephone, a PDA,or the like. Because an enterprise server and a voice platform asdescribed can work in combination to provide a seamless user experienceby dynamically accommodating interactions with a database, little or nohuman intervention is required to operate the system. In addition, thesystem can service customer requests around the clock at minimalincremental cost for each transaction. The system is also scalable, inthat virtually any service that could be implemented through authorized,automated access to a manufacturer's database, can easily be providedvia telephone.

Although several possible embodiments of an apparatus, system, andmethod has been described, various changes and modifications may be madeor suggested by those skilled in the art without departing from thescope of the claims that follow.

1. A method of modifying a diagnostic device, the method comprising:receiving, from a user, product-identifying information for thediagnostic device; transmitting a software key that corresponds to theproduct-identifying information to a text-to-speech server; andperforming a text-to-speech conversion of the software key to cause thesoftware key to be spoken to the user.
 2. The method of claim 1, furthercomprising entering the software key into the diagnostic device, andwherein modifying the diagnostic device comprises unlocking at least onefeature in response to the software key being entered.
 3. The method ofclaim 1, further comprising entering the software key into thediagnostic device, and wherein modifying the diagnostic device comprisesenabling a software update in response to the software key beingentered.
 4. The method of claim 1, further comprising receiving, fromthe user, payment information.
 5. The method of claim 4, wherein thepayment information comprises credit card information.
 6. The method ofclaim 2, further comprising receiving, from the user,feature-identifying information corresponding to the feature to beunlocked.
 7. The method of claim 1, wherein the product-identifyinginformation comprises a serial number.
 8. The method of claim 1, whereinthe software key is transmitted to the text-to-speech server in VXMLformat.
 9. The method of claim 1, wherein the software key istransmitted via the Internet.
 10. The method of claim 1, furthercomprising transmitting a prompt to the user requesting the user tospecify a diagnostic device type.
 11. The method of claim 1, furthercomprising indicating to the user that a feature of the diagnosticdevice must be unlocked before it can be used.
 12. The method of claim1, wherein the product-identifying information comprises a DTMF signal.13. The method of claim 1, wherein the product-identifying informationcomprises a set of spoken characters.
 14. A method of unlocking at leastone feature of a diagnostic device, the method comprising: receiving,from a user, a serial number for the diagnostic device; receiving, fromthe user, credit card information; receiving, from the user,feature-identifying information corresponding to the feature to beunlocked; generating a software key in response to receiving the serialnumber and the credit card information, the software key corresponds tothe serial number and the feature-identifying information; transmittingthe software key to a text-to-speech server via the Internet;transmitting the software key from the text-to-speech server to the userin voice format via the PSTN to cause the software key to be spoken tothe user; and entering the software key into the diagnostic device tounlock the at least one feature.
 15. A system for providing a softwarekey to a user comprising: a voice platform; a diagnostic device databasecomprising identifying data for particular diagnostic devices andfurther comprising feature data for particular diagnostic devices; anenterprise server comprising a processor and a memory, the enterpriseserver being communicatively connectable to the voice platform and thediagnostic device database; and a set of machine instructions stored inthe memory, the instructions being executable by the processor to:receive at least one input requesting a software key for a particulardiagnostic device; verify the particular diagnostic device by referenceto the database; and transmit a software key in a markup language to thevoice platform; wherein the voice platform converts the markup languagesoftware key to voice format and transmits it to the user.
 16. Thesystem of claim 15, wherein the set of instructions are further operableto generate a software key that is associated with the particulardiagnostic device.
 17. The system of claim 16, wherein the software keyonly enables the particular diagnostic device and no other diagnosticdevice.
 18. The system of claim 15, wherein the markup language is VXML.19. The system of claim 15, wherein the software routine is furtherexecutable to identify a particular feature to be enabled, theparticular feature being associated with the particular device.
 20. Thesystem of claim 19, wherein the enterprise server receives informationregarding the particular feature to be enabled from the user via thevoice platform.
 21. The system of claim 19, wherein the software keyonly enables the particular feature.
 22. The system of claim 21, whereinthe software key further only enables the particular device.